1. Field of the Invention
This invention relates to a simulation method and apparatus, and more particularly to a simulation technique suitable for processing discrete events in a production system, a physical distribution system or the like.
2. Description of Related Art
Computer simulation provides various prediction information that is used as guidelines for the management and operation of a system. It is known to model and simulate complicated systems such as the production system of a plant, a wide area transport system for goods, or a transportation system. Types of simulation include: continuous time type and discrete time type simulation which focus on time; and discrete event type simulation which focuses on the actions of objects. A production system, transportation system or the like, as mentioned above, is suitable for being simulated as a discrete event type of system wherein the actions of the objects occur in a discrete manner, and no change occurs between them. For example, JA Published Unexamined Patent Application (PUPA) No. 61-61752 discloses a simulation system for a manufacturing facility. Also, JA PUPA No. 1-155462 (U.S. Pat. No. 4,901,260) discloses a system for improving the efficiency of discrete event type simulation.
However, the various systems mentioned above become more and more complicated every year, and therefore conventional simulation systems cannot fully cope with such situations.
That is, using conventional methods for a complicated system requires enormous efforts to describe an algorithm for processing simultaneous state-events, and a great deal of time is required for processing the simulation with a computer system.
When a production system is considered from the viewpoint of simulation, its most significant feature is that simultaneous state-events are very frequently caused. Simultaneous state-events are events, such that different events occur in series in a subject system at the same time. For example, at the same time a work-in-process exits from a buffer, another work-in-process is unloaded from a machine being blocked. At the same time when the quantity of work-in-process becomes less than a reference quantity for inventory, a "Kanban" (signboard) is removed. At the same time when the Kanban is removed, a supply cart starts to move toward the previous process. When a work-in-process is delivered to the buffer from the previous process, a crane starts to operate.
Such an operation is basically one in which a first object causes a specific event, and then another object that has had no previous relationship with the first object causes another event. Generally, in principle, a simulation language describes the details of the behaviors of each object. Therefore, complicated steps become necessary to retrieve the simultaneous state-events, it is very difficult to describe the mechanisms, and cases frequently arise where operations cannot be fully described because of limitations of the language. Because the steps become complicated in this way, an enormous amount of time is also required for the simulation processing by a computer.
In addition, a conventional simulation system requires time and labor to create a simulation model (description of the processes and procedures). This is not limited to the discrete event type, but is common to all simulation systems covering a complicated system.
Conventionally, to perform such a numerical experiment on a computer system, there is no set approach, rather, the structure, the operation procedures and the like of the subject production process are described one after another by using a general-purpose language such as FORTRAN or PL/I. Even if the languages are somewhat easier to describe, they are described in the same manner by using a simulation language such as GPSS. Many simulation languages, such as GPSS, are provided with several descriptive elements for describing a system, and there are methods to fully utilize these descriptive capabilities to correlate the subject system with a model. However, because these languages are designed to be extensively used not only with production systems, but also with communication networks, transportation systems and the like, the descriptive elements are provided in a very abstract forms such as TRANS, ACTION, QUEUE, or ENTITY. Therefore, in order to describe real components such as machines, conveyors, supply cars, cranes and workers, it is necessary to first finely decompose their arrangements, actions and the like into a form usable with such abstract descriptive elements, and to then reconstruct them. Such an operation requires an enormous amount of time and labor.
In addition, in cases where information is exchanged between components, this exchange cannot be exactly reflected in the model, or an enormous amount of time and labor is required to implement the exchange.
There are two types of systems for giving orders as to the connections between the components of a production system, the push type and the pull type. The push type ordering system is a system in which each process performs operations based on a previously instructed plan, and the work-in-process which has been completed for an operation is sequentially "pushed" to the following process. This system assumes the existence of a scheduler that controls the entire system. The scheduler estimates lead times, taking into consideration the goal and capabilities of each process, and orders each process. Each process performs its production based on these orders, and sequentially "pushes" the work-in-process to the next process. The push type system can be also called a plan driven type. An MRP (material requirement calculation program) is a typical example of this.
On the other hand, the pull type ordering system is a system in which the next process "pulls" a work-in- process from the previous process. The chain is sequentially caused to go backward to the previous process in a manner such that each process takes up work-in-process and raw materials "as required." Because a "Kanban" is frequently used as a means for communicating the pull information to the previous process, this system is also called a kanban system. A production site will appropriately use the MRP system and the kanban system according to their characteristics. Sometimes, a production ordering system combining the MRP system and the kanban system is used.
There is no known general-purpose simulator for easily modelling production processes that can be defined with the MRP system or the kanban system as a model. If the intent is to express such a production ordering system with a general-purpose simulation language, an enormous amount of model development cost arises. Sometimes, such a model description is not allowed because of the design specifications of the language.